package com.abvnet.project.water.project.mapper;

import com.abvnet.project.water.project.domain.PieChart;
import com.abvnet.project.water.project.domain.ProjectInfo;
import com.abvnet.project.water.project.domain.RepData;

import java.util.List;

/**
 * 项目 数据层
 * 
 * @author duj
 * @date 2019-07-02
 */
public interface ProjectInfoMapper {
	/**
     * 查询项目信息
     * 
     * @param projectId 项目ID
     * @return 项目信息
     */
	ProjectInfo selectProjectInfoById(Long projectId);

	ProjectInfo selectDiagnosisByProjectId(Long projectId);

    ProjectInfo selectSummaryByProjectId(Long projectId);

    ProjectInfo selectProgressCodeById(Long projectId);

	/**
     * 查询项目列表
     * 
     * @param projectInfo 项目信息
     * @return 项目集合
     */
	List<ProjectInfo> selectProjectInfoList(ProjectInfo projectInfo);


	List<ProjectInfo> selectCustomerProjectInfoList(ProjectInfo projectInfo);

    List<ProjectInfo> selectListForApi(ProjectInfo projectInfo);

    List<ProjectInfo> selectMapList();

    List<PieChart> selectAreaList();

    List<PieChart> selectIndustryList();

    List<RepData> selectRateList();

    List<ProjectInfo> selectProjectListByPlanId(Long planId);

    List<ProjectInfo> selectUnProjectListByPlanId(Long planId);

	/**
     * 新增项目
     * 
     * @param projectInfo 项目信息
     * @return 结果
     */
	int insertProjectInfo(ProjectInfo projectInfo);
	
	/**
     * 修改项目
     * 
     * @param projectInfo 项目信息
     * @return 结果
     */
	int updateProjectInfo(ProjectInfo projectInfo);
	
	/**
     * 删除项目
     * 
     * @param projectId 项目ID
     * @return 结果
     */
	int deleteProjectInfoById(Long projectId);
	
	/**
     * 批量删除项目
     * 
     * @param projectIds 需要删除的数据ID
     * @return 结果
     */
	int deleteProjectInfoByIds(String[] projectIds);
	
}